3 research outputs found

    Geolocalización en interiores utilizando Bluetooth Low Energy

    Get PDF
    Treball Final de Grau en Enginyeria Informàtica. Codi: EI1054. Curs acadèmic: 2019/2020En esta memoria se explica el desarrollo de mapas de calor de recintos cerrados a través de la tecnología Bluetooth Low Energy y usando un dispositivo ESP32. Un dispositivo ESP32 es un System on Chip (SoC), es decir, que cuenta con todos sus módulos en un mismo chip. Está diseñado por la empresa china Espressif, y tiene como predecesor el ESP8266, diseñado también por la misma compañía. El ESP32 detecta continuamente las balizas a su alcance y realiza una petición HTTP cada vez que detecta una baliza valida, es decir, una baliza de la empresa. El servidor que recoge la petición guarda en la base de datos los datos recibidos para su uso posterior. Un mapa de calor es una representación gráfi ca de la cantidad de personas que se encuentran en una zona, poniendo colores más cálidos a mayor cantidad de personas y colores más fríos a menor número de personas. Para este módulo se ha creado su almacenamiento en el servidor, junto a su petición y respuesta HTTP. Por ultimo, respecto a la ocupación por zonas, el servidor recibe una petición con un listado de zonas y responde con el número de personas que se encuentran en esas zonas actualmente. El alcance de este proyecto no incluye la visualización gráfi ca del mapa de calor ni de la ocupación por zonas

    Automatic Generators for a Family of Matrix Multiplication Routines with Apache TVM

    Full text link
    We explore the utilization of the Apache TVM open source framework to automatically generate a family of algorithms that follow the approach taken by popular linear algebra libraries, such as GotoBLAS2, BLIS and OpenBLAS, in order to obtain high-performance blocked formulations of the general matrix multiplication (GEMM). % In addition, we fully automatize the generation process, by also leveraging the Apache TVM framework to derive a complete variety of the processor-specific micro-kernels for GEMM. This is in contrast with the convention in high performance libraries, which hand-encode a single micro-kernel per architecture using Assembly code. % In global, the combination of our TVM-generated blocked algorithms and micro-kernels for GEMM 1)~improves portability, maintainability and, globally, streamlines the software life cycle; 2)~provides high flexibility to easily tailor and optimize the solution to different data types, processor architectures, and matrix operand shapes, yielding performance on a par (or even superior for specific matrix shapes) with that of hand-tuned libraries; and 3)~features a small memory footprint.Comment: 35 pages, 22 figures. Submitted to ACM TOM

    Generación automática de núcleos computacionales para redes neuronales

    Full text link
    [ES] El auge en la aplicación de redes neuronales profundas (RNPs) en una gran variedad de campos científicos ha propiciado su uso no solo en servidores de cómputo sino también en dispositivos de bajo consumo. Los cálculos que se realizan tanto en entrenamiento como en inferencia de las RNPs se descomponen en núcleos de álgebra lineal y se extraen de bibliotecas especializadas como Intel MKL, BLIS, etc. Sin embargo, la memoria requerida por estas bibliotecas puede exceder de la capacidad máxima de estos pequeños dispositivos. Además, la gran variedad de hardware de bajo consumo hace prácticamente imposible contar con núcleos de cómputo optimizados para cada modelo. Una opción para reducir el coste de generación y mantenimiento de estas bibliotecas es la utilización de generadores de código automáticos como Apache TVM. Estas herramientas permiten desarrollar un solo código común para todos los dispositivos y posteriormente generar el código ensamblador para cada uno. Además, con TVM solamente se debe generar los núcleos necesarios para un modelo de RNP concreto evitando utilizar memoria del dispositivo con funcionalidad que no se utiliza para cada caso. En este proyecto se pretende generar núcleos computacionales para distintas arquitecturas de forma automática utilizando Apache TVM con el objetivo de reproducir las necesidades de los RNPs.[EN] The boom in the application of Deep Neural Networis (DNNs) in a wide variety of scientific fields has led to their use not only in compute-intensive servers but also in low-power devices. Many of the computations performed m RNPs, both in training and inference, are decomposed into linear algebra kernels and extracted from specialised libraries such as Intel Mkl or BLIS. However, the amount of memory required by these libraries can exceed the maximum capacity of these small devices. In addition, the wide variety of low-power hardware makes it virtually impossible to have optimised compute cores for each modeL One option to reduce the cost of generating and maintaming these libraries is the use of automatic code generators such as Apache TVM. These tools allow you to generate a single common code for all devices and then ,generate the assembly code for each device. With TVM, only the cores needed for a specific RNP model must be generated, avoiding the use of device memory with functionality that is not going to be used. This project aims to generate optimised computational kernels for different'architectures automatically using Apache TVM with the objective of reproducing the needs of RNP.Alaejos López, G. (2022). Generación automática de núcleos computacionales para redes neuronales. Universitat Politècnica de València. http://hdl.handle.net/10251/182168TFG
    corecore